public class code3 {
    // top 101 合并二叉树

    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param t1 TreeNode类
     * @param t2 TreeNode类
     * @return TreeNode类
     */
    public TreeNode mergeTrees (TreeNode t1, TreeNode t2) {
        // write code here
        // 这里我们将 t1 作为一个被修改的总数，最后进行返回即可

        // 对于树的合并，可以通过前序遍历的形式，从下向上，从左到右来对数据进行合并
        if(t1 == null && t2 == null) {
            return null;
        }
        if(t1 == null || t2 == null) {
            // 这里判断的是，当两个参数中有一个为 null 时，此时将返回两个中存在的一个
            return t1 == null? t2 : t1;
        }

        // 此时当两部分的值都是相同的时候，直接进行相加操作
        t1.val = t1.val + t2.val;
        // 对左子树进行合并
        t1.left = mergeTrees(t1.left, t2.left);
        // 对右子树进行合并
        t1.right = mergeTrees(t1.right, t2.right);

        return t1;
    }
}
